import request, {extend} from "umi-request";

// request
//     .get("/api/v1/xxx?id=1")
//     .then(function (response) {
//         console.log(response);
//     })
//     .catch(function (error) {
//         console.log(error);
//     });
// // 也可将 URL 的参数放到 options.params 里
// request
//     .get("/api/v1/xxx", {
//         params: {
//             id: 1
//         }
//     })
//     .then(function (response) {
//         console.log(response);
//     })
//     .catch(function (error) {
//         console.log(error);
//     });

enum MethodEnum {
    'GET' = 'get',
    'POST' = 'post',
    'PATH' = 'path',
    'DELETE' = 'delete'
}


export default async function fetchRequest<T>(url: string, method: MethodEnum, options: T) {
    // 携带token
    const token = localStorage.getItem('token')
    await request(
        url, options
    )?.[method]().then(checkStatus).then(handleSuccess).catch(handleError)


}


const checkStatus = (res) => {
    switch (res.status) {
        case 200: {
            return res.data
        }
        case 500: {
            new Error('服务端崩溃')
        }
        case 428: {

        }
        default:
            return res
    }
}

const handleSuccess = (res) => {
    switch (res.data.code) {

    }

}

const handleError = () => {

}